Git considera que os dados são como um conjunto de snapshots (captura de algo em um determinado instante, como em uma
foto) de um mini-sistema de arquivos. Cada vez que você salva ou consolida (commit) o estado do seu projeto no Git, é
como se ele tirasse uma foto de todos os seus arquivos naquele momento e armazenasse uma referência para essa captura.
Para ser eficiente, se nenhum arquivo foi alterado, a informação não é armazenada novamente - apenas um link para o
arquivo idêntico anterior que já foi armazenado por este motivo o Git preza pela velocidade. Vantagens do Git:
-
Quase todas as operações são locais: A maior parte das operações no Git precisam apenas de recursos e arquivos
locais para operar — geralmente nenhuma outra informação é necessária de outro computador na sua rede, uma vez que
você tem todo o histórico do projeto no seu disco local, a maior parte das operações parece ser quase instantânea;
-
Git tem integridade: Tudo no Git tem seu checksum (valor para verificação de integridade) calculado antes que seja
armazenado e então passa a ser referenciado pelo checksum. Isso significa que é impossível mudar o conteúdo de
qualquer arquivo ou diretório sem que o Git tenha conhecimento;
-
Git geralmente só adiciona dados: Dentre as ações que você pode realizar no Git, quase todas apenas acrescentam
dados à base do Git. É muito difícil fazer qualquer coisa no sistema que não seja reversível ou remover dados de
qualquer forma;
-
Os três estados: Git faz com que seus arquivos sempre estejam em um dos três estados fundamentais: consolidado
(committed), modificado (modified) e preparado (staged). Dados são ditos consolidados quando estão seguramente
armazenados em sua base de dados local. Modificado trata de um arquivo que sofreu mudanças mas que ainda não foi
consolidado na base de dados. Um arquivo é tido como preparado quando você marca um arquivo modificado em sua
versão corrente para que ele faça parte do snapshot do próximo commit (consolidação).
A ordem de utilização do Git basicamente envolvem:
-
Modificar arquivos no diretório de trabalho;
-
Selecionar os arquivos, adicionando snapshots deles para a área de preparação;
-
Realizar um commit, que leva os arquivos como eles estão na área de preparação e os armazena permanentemente no
diretório Git.
Adaptado de Git.
|